// 作业题4：接口继承与联合类型
// 定义以下接口：
// ● Shape：包含 color: string
// ● Circle 继承 Shape，并添加 radius: number
// ● Rectangle 继承 Shape，并添加 width: number 和 height: number
// 编写函数 getArea(shape: Circle | Rectangle): number，根据类型计算并返回面积。
// 要求使用类型守卫区分 Circle 和 Rectangle。
function getArea(shape) {
    // 使用 in 操作符作为类型守卫
    if ('radius' in shape) {
        // shape 是 Circle 类型
        return Math.PI * Math.pow(shape.radius, 2);
    }
    else {
        // shape 是 Rectangle 类型
        return shape.width * shape.height;
    }
}
// 测试代码
var circle = {
    color: "red",
    radius: 5
};
var rectangle = {
    color: "blue",
    width: 10,
    height: 8
};
console.log("\u5706\u5F62\u9762\u79EF: ".concat(getArea(circle)));
console.log("\u77E9\u5F62\u9762\u79EF: ".concat(getArea(rectangle)));
